/*
The <const.h> header file defines some constants for the low allocator
*/

#ifndef _VMM_CONST_H
#define _VMM_CONST_H

/* Page states */
#define ALLOCATOR_PAGE_FREE 0  /* Page is free (not allocated) */
#define ALLOCATOR_PAGE_BUSY 1  /* Page is busy (allocated) */

#define MEM_16MB_MARK       0x01000000  /* Address of the 16 MB Mark */
#define MEM_16MB_PAGE       0x1000      /* First page above the 16 MB Mark */
#define MEM_1MB_PAGE        0x0100      /* First page above the  1 MB Mark */
#define MEM_PAGE_SIZE       0x1000      /* Size of a memory page (4 KB) */
#define MEM_PAGE_SIZE_BITS  12          /* Size of a memory page in bits */

#define PT_INCREMENT        4           /* Advance 1 page (PDE and PTE size) */


// 4 KB below the page directory ==> 4 GB - 4 MB - 4 KB
#define NEW_VIRTUAL_SPACE   0xFFBFF000

#endif /* _VMM_CONST_H */
